[IA64] xen: hypercall no clean up
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Tue, 9 May 2006 17:33:29 +0000 (11:33 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Tue, 9 May 2006 17:33:29 +0000 (11:33 -0600)
use __HYERCALL_arch_0 for dom0vp hypercall.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/xen/hypercall.c
xen/include/public/arch-ia64.h

index 8b83db3e7b42d2a9c2578c6e64411e7efb09c964..fdaaa439a6629598f84ddc8df9cea5397b2876c2 100644 (file)
@@ -71,7 +71,33 @@ hypercall_t ia64_hypercall_table[] =
        (hypercall_t)do_ni_hypercall,           /*  */                          /* 30 */
        (hypercall_t)do_ni_hypercall,           /*  */
        (hypercall_t)do_event_channel_op,
-       (hypercall_t)do_physdev_op
+       (hypercall_t)do_physdev_op,
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */                  /* 35 */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */                  /* 40 */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */                  /* 45 */
+       (hypercall_t)do_ni_hypercall,           /*  */
+       (hypercall_t)do_ni_hypercall,           /*  */
+#ifdef CONFIG_XEN_IA64_DOM0_VP
+       (hypercall_t)do_dom0vp_op,                      /* dom0vp_op */
+#else
+       (hypercall_t)do_ni_hypercall,           /* arch_0 */
+#endif
+       (hypercall_t)do_ni_hypercall,           /* arch_1 */
+       (hypercall_t)do_ni_hypercall,           /* arch_2 */            /* 50 */
+       (hypercall_t)do_ni_hypercall,           /* arch_3 */
+       (hypercall_t)do_ni_hypercall,           /* arch_4 */
+       (hypercall_t)do_ni_hypercall,           /* arch_5 */
+       (hypercall_t)do_ni_hypercall,           /* arch_6 */
+       (hypercall_t)do_ni_hypercall            /* arch_7 */            /* 55 */
        };
 
 uint32_t nr_hypercalls =
@@ -91,12 +117,6 @@ xen_hypercall (struct pt_regs *regs)
                        regs->r18,
                        regs->r19);
        else
-#ifdef CONFIG_XEN_IA64_DOM0_VP
-       if (cmd ==  __HYPERVISOR_ia64_dom0vp_op) 
-               regs->r8 = do_dom0vp_op(regs->r14, regs->r15, regs->r16,
-                                       regs->r17, regs->r18);
-       else
-#endif
                regs->r8 = -ENOSYS;
 
        return 1;
index 87bdbc745a13069b5d66ca43dba85ab46ffc0b4e..a37de91c0e2c0ab7e135eeb88bf6d93c175ad34c 100644 (file)
@@ -329,10 +329,7 @@ typedef struct vcpu_guest_context {
 DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 
 // dom0 vp op
-#define __HYPERVISOR_ia64_dom0vp_op     256 // XXX sufficient large
-                                            // TODO
-                                            // arch specific hypercall
-                                            // number conversion
+#define __HYPERVISOR_ia64_dom0vp_op     __HYPERVISOR_arch_0
 #define IA64_DOM0VP_ioremap             0       // map io space in machine
                                                 // address to dom0 physical
                                                 // address space.